package Regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则表达式学习，java那些地方支持正则表达式
 */
public class RegexStudy {
    public static void main(String[] args) {
        String str = "成都市(成华区)(武侯区)(高新区)";
        String str1="哈哈,我是你爸爸";
        //首先是String类中支持正则表达式的方法
        //matches方法：此方法用来判断字符串是否符合指定正则表达式的规则，如果符合就返回true，否则返回false
        boolean result = str1.matches("哈哈");
        System.out.println("String.matches方法执行结果:"+result);
        //replaceAll方法:此方法使用正则表达式模式替换，将所有符合正则表达式的部分替换为后面的字符串
        str1=str1.replaceAll("哈哈","嗨嗨");
        System.out.println(str1);
        //replaceFirst方法：此方法使用正则表达式模式替换第一个符合模式的字符串
        str1=str1.replaceFirst("嗨嗨","叽叽");
        System.out.println(str1);
        //split方法：此方法使用正则表达式对字符串进行拆分,组成一个String数组
        String[] result1=str1.split(",");
        System.out.println(result1[0]);
        System.out.println(result1[1]);

        //获得一个正则表达式对象
        Pattern p = Pattern.compile(".*?(?=\\()");
        //使用正则表达式对象处理指定字符串,并获得结果对象
        Matcher m = p.matcher(str);
        //从正则表达式结果对象中获得信息
        if(m.find()) {
            System.out.println(m.group());
        }
    }
}
